Conversation
|
|
|
|
There was a problem hiding this comment.
Pull request overview
Adds a scheduled IVC CHAMPVA Sidekiq cron job to poll the PEGA status endpoint by form UUID and persist refreshed pega_status / case_id values back onto ivc_champva_forms, plus supporting PEGA client/config plumbing and unit tests.
Changes:
- Introduces
IvcChampva::PollPegaStatusJoband registers it as a daily periodic job. - Adds
status_pathconfiguration and a newPegaApi::Client#get_status_by_uuidmethod to call the PEGA status endpoint. - Persists
submitted_by_icnon CHAMPVA form inserts and adds job specs covering polling/update behavior.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| modules/ivc_champva/app/jobs/ivc_champva/poll_pega_status_job.rb | New daily polling job that selects non-terminal forms, calls PEGA by UUID, and conditionally updates DB rows. |
| modules/ivc_champva/spec/jobs/poll_pega_status_job_spec.rb | New unit spec suite for the polling job across multiple response and record-state scenarios. |
| modules/ivc_champva/lib/pega_api/client.rb | Adds get_status_by_uuid GET call and response parsing for the double-encoded PEGA status response. |
| modules/ivc_champva/lib/pega_api/configuration.rb | Adds status_path accessor for PEGA status endpoint routing. |
| modules/ivc_champva/app/services/ivc_champva/file_uploader.rb | Adds persistence of submitted_by_icn during form row creation. |
| lib/periodic_jobs.rb | Registers the new polling job on a daily cron schedule. |
| config/settings.yml | Adds required ivc_champva.pega_api.status_path setting (env-backed). |
| config/settings/development.yml | Switches PEGA settings to env-backed values with development fallbacks, including status_path. |
| config/settings/test.yml | Adds test setting for ivc_champva.pega_api.status_path. |
| config/features.yml | Adds the ivc_champva_cst_integration feature definition used by the job. |
|
1 similar comment
|
|
d868ef6 to
396b2ba
Compare
|
1 similar comment
|
|
|
8acbc96 to
7a38145
Compare
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: breedbah <123968373+breedbah@users.noreply.github.com>
Agent-Logs-Url: https://github.com/department-of-veterans-affairs/vets-api/sessions/f133fc12-7e97-4ed0-bbab-4ea17cbda835 Co-authored-by: breedbah <123968373+breedbah@users.noreply.github.com>
Agent-Logs-Url: https://github.com/department-of-veterans-affairs/vets-api/sessions/f133fc12-7e97-4ed0-bbab-4ea17cbda835 Co-authored-by: breedbah <123968373+breedbah@users.noreply.github.com>
34421f8 to
6c77c49
Compare
|
👍 All Parameter Store values in this PR are valid |
|
👍 All Parameter Store values in this PR are valid |
|
👍 All Parameter Store values in this PR are valid |
|
👍 All Parameter Store values in this PR are valid |
|
👍 All Parameter Store values in this PR are valid |
|
👍 All Parameter Store values in this PR are valid |
|
👍 All Parameter Store values in this PR are valid |
|
👍 All Parameter Store values in this PR are valid |
Flipper.enable/disablecalls inpoll_pega_status_job_spec.rbwithallow(Flipper).to receive(:enabled?)stubs to prevent global state mutation between examples